博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BBS论坛(二十)
阅读量:5022 次
发布时间:2019-06-12

本文共 3415 字,大约阅读时间需要 11 分钟。

20.1.cms添加轮播图后台逻辑代码完成

(1)apps/models.py

from exts import dbfrom datetime import datetimeclass BannerModel(db.Model):    __tablename__ = 'banner'    id = db.Column(db.Integer, primary_key=True, autoincrement=True)    name = db.Column(db.String(255), nullable=False)    img_url = db.Column(db.String(255), nullable=False)    link_url = db.Column(db.String(255), nullable=False)    priority = db.Column(db.Integer, default=0)    create_time = db.Column(db.DateTime, default=datetime.now)

(2)manage.py

from apps.models import BannerModel

(3)生成到数据库

python manage.py db migratepython manage.py db upgrade

(4)cms/forms.py

class AddBannerForm(BaseForm):    name=StringField(validators=[InputRequired(message='请输入轮播图名称')])    img_url=StringField(validators=[InputRequired(message='请输入轮播图链接')])    link_url=StringField(validators=[InputRequired(message='请输入轮播图跳转链接')])    priority=IntegerField(validators=[InputRequired(message='请输入轮播图优先级')])

(5)cms/views.py

@bp.route('/abanner/',methods=['POST'])def abanner():    form=AddBannerForm(request.form)    if form.validate():        name=form.name.data        img_url=form.img_url.data        link_url=form.link_url.data        priority=form.priority.data        banner=BannerModel(name=name,img_url=img_url,link_url=link_url,priority=priority)        db.session.add(banner)        db.session.commit()        return restful.success()    else:        return restful.params_error(message=form.get_error())

 

20.2.cms添加轮播图前台逻辑完成

(1)cms/js/banner.js

$(function () {    $('#save_banner_btn').click(function (event) {        event.preventDefault();        var dialog = $('#banner-dialog');        var nameInput = $("input[name='name']");        var imgInput = $("input[name='img_url']");        var linkInput = $("input[name='link_url']");        var priorityInput = $("input[name='priority']");        var name = nameInput.val();        var img_url = imgInput.val();        var link_url = linkInput.val();        var priority = priorityInput.val();        if (!name || !img_url || !link_url || !priority) {            zlalert.alertInfo('请输入完整的轮播图数据');            return;        }        zlajax.post({            'url': '/cms/abanner/',            'data': {                'name': name,                'img_url': img_url,                'link_url': link_url,                'priority': priority            },            'success': function (data) {                if (data['code'] == 200) {                    dialog.modal('hide');                    window.location.reload()                } else {                    zlalert.alertInfo(data['message']);                }            },            'fail': function (error) {                zlalert.alertNetworkError()            }        });    });});

(2)cms/cms_banners.html

{% from 'common/_macros.html' import static %}

(3)cms/views.py

@bp.route('/banners/')@login_requireddef banners():    banners = BannerModel.query.all()    return render_template('cms/cms_banners.html',banners=banners)

(4)cms_banners.html

        {% for banner in banners %}                            {
{ banner.name }} {
{ banner.img_url }}
{
{ banner.link_url }}
{
{ banner.priority }} {
{ banner.create_time }} {% endfor %}

 

转载于:https://www.cnblogs.com/derek1184405959/p/9160866.html

你可能感兴趣的文章
hexo 搭建博客
查看>>
建造者模式(屌丝专用)
查看>>
Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
查看>>
C++的引用
查看>>
python itertools
查看>>
http://lorempixel.com/ 可以快速产生假图
查看>>
编写一个函数isMerge,判断一个字符串str是否可以由其他两个字符串part1和part2“组合”而成...
查看>>
文件操作
查看>>
NYOJ-613//HDU-1176-免费馅饼,数字三角形的兄弟~~
查看>>
graphite custom functions
查看>>
ssh无密码登陆屌丝指南
查看>>
一个自己写的判断2个相同对象的属性值差异的工具类
查看>>
[CF803C] Maximal GCD(gcd,贪心,构造)
查看>>
oracle连接的三个配置文件(转)
查看>>
Java 8 中如何优雅的处理集合
查看>>
[HNOI2012]永无乡 线段树合并
查看>>
Centos下源码安装git
查看>>
控件发布:div2dropdownlist(div模拟dropdownlist控件)
查看>>
[置顶] 细说Cookies
查看>>
[wp7软件]wp7~~新闻资讯,阅读软件下载大全! 集合贴~~~
查看>>